草庐IT

TypeScript 函数

全部标签

javascript - 如果调用了 .bind() 函数,是否无法判断函数是否为生成器函数?

似乎在任何生成器函数上调用.bind(this)都会破坏我查看该函数是否为生成器的能力。关于如何解决此问题的任何想法?varisGenerator=function(fn){if(!fn){returnfalse;}varisGenerator=false;//Fastermethodfirst//Calling.bind(this)causesfn.constructor.nametobe'Function'if(fn.constructor.name==='GeneratorFunction'){isGenerator=true;}//Slowermethodsecond//Cal

javascript - Gulpfile 仅高效编译已更改的 TypeScript 文件

我正在尝试让gulp编译并观察TypeScript文件。这是我到目前为止得到的vartsProject=plugins.typescript.createProject({removeComments:false,target:'ES5',module:'amd',noExternalResolve:false,noImplicitAny:false,});vartypescriptGlob=[presentationScriptsDir+'**/*.ts',definitelyTypedDefinitions];gulp.task("compile-typescript",funct

javascript - 为什么typeof String返回函数

为什么:console.log(typeofString);当它是object时返回function? 最佳答案 String是字符串对象的构造函数。所有构造函数都是函数,因此您看到的是返回值。您可以通过创建如下代码自己看到:varMyObject=function(value){this.value=value;};MyObject.prototype.getValue=function(){returnthis.value;}console.log(typeof(MyObject));//functionconsole.log(

javascript - 如何在 typescript 中使用表单元素

我想通过myForm.elements访问表单元素,然后通过名称访问每个元素,例如myForm.elements.month。Typescript不喜欢这个b/c它不知道form.elements包含month的属性。我想,让我们创建一个界面吧!所以我做了,(见下面的代码),但我收到了这个typescript错误:Neithertype'HTMLCollection'nortype'FormElements'isassignabletotheother这是我正在使用的代码:interfaceFormElements{day:HTMLInputElement;month:HTMLInpu

javascript - 为什么 getPrototypeOf() 在 JavaScript 中返回不正确的构造函数?

varprotoRabbit={size:"small"};varfastRabbit=Object.create(protoRabbit);console.log(Object.getPrototypeOf(fastRabbit));以上片段打印:Object{size:"small"}这不应该打印protoRabbit{size:"small"}吗?我的理解中缺少什么? 最佳答案 打印在对象前面的名称是构造函数的名称。您的对象protoRabbit具有构造函数Object,因为您使用对象字面量创建了此对象:varprotoRab

javascript - 如何从 Aurelia 中的函数更新属性

我想在推送操作时刷新属性值,但我不知道如何从函数访问该属性!exportclassDatas{prop1="myval";}varconnection=newWebSocket('ws://localhost:8787','json');connection.onmessage=function(e){//prop1ofDatas=e.data;};有什么想法吗?编辑:页面加载后,我想在收到推送消息时刷新数据。编辑2:测试代码数据.js:exportclassData{staticinformation='';}viewModel.jsimport{bindable}from'aure

javascript - TypeError : (intermediate value)(intermediate value). 成功不是一个函数(angular)

我很难理解这个错误...我不太明白为什么它不是函数...angular.module('mkApp').factory('mkService',function($http,$log){functiongetLookUp(successcb){$http=({method:'GET',url:'api/Entries/'}).success(function(data,status,header,config){successcb(data);}).error(function(data,status,header,config){$log,warn(data,status,heade

javascript - 试图理解递归函数的类似堆栈的行为

我正在MDN上阅读关于函数的文章,我到达了递归部分,但我不明白最后一部分谈论使用类似堆栈的行为。例子是那个:functionfoo(i){if(i关于该功能,我了解何时显示begin日志,但我不知道何时显示end日志。有人可以帮我解释一下吗? 最佳答案 所以基本上在执行i-1时每次调用foo时它都保持函数打开,它没有返回。它一直在继续,因此begin不断被调用,一旦它达到0,最后一个函数调用就会返回。一旦发生这种情况,其他foo调用也可以开始完成。它们将从最旧到最新完成。您可以通过PhilipRoberts使用放大镜看到它的可视化.

javascript - Visual Studio Code Intellisense typescript 不工作

我已经尝试了很长时间,但无论我做什么,我似乎都无法让VisualStudioCodeintellisense在typescript的单个文件之外工作。这适用于Windows和Ubuntu。我已经包含了一个tsconfig.json文件,但它在项目规模上仍然没有任何智能感知。我当前的测试项目包含以下内容:tsconfig.json:{"compilerOptions":{"module":"commonjs","out":"test.js"},"files":["test2.ts","tester.ts"]}任务.json:{"version":"0.1.0","command":"ts

javascript - `Function` 创建的这些函数有什么区别?

1.varf=newFunction("a","b","returna+b")2.varf2=Function("a","b","returna+b")f和f2都是匿名函数。f(1,2)和f2(1,2)都返回3。那么两者之间有什么实际的内部差异吗?Function是否在内部返回一个函数对象?与使用Function作为构造函数newFunction(...)的区别? 最佳答案 来自ECMAScript5.1specs:WhenFunctioniscalledasafunctionratherthanasaconstructor,itc